package test2;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import com.alibaba.excel.write.handler.WriteHandler;
import com.alibaba.excel.write.merge.LoopMergeStrategy;

import test2.pojo.Se;
import utils.WishColumn;
import utils.WishExcel;
import utils.WishExcelFunction;
import utils.WishModule;
import utils.handlers.RowBoldWriteHandler;

// 单个sheet和单个数据源
public class Test2
{
	public static List<Se> getDatas()
	{
		// 数据
		List<Se> datas = new ArrayList<>();
		Se a = new Se();
		a.setName("张三");
		a.setAge(18);
		datas.add(a);

		Se b = new Se();
		b.setName("李四");
		b.setAge(19);
		datas.add(b);

		Se c = new Se();
		c.setName("王五");
		c.setAge(19);
		datas.add(c);

		for (int i = 0; i < 11; i++)
		{
			Se se = new Se();
			se.setName("姓名" + i);
			se.setAge(19 + i);
			datas.add(se);
		}
		return datas;
	}

	public static void main(String[] args)
	{
		// 数据
		// 头部
		
		WishExcelFunction<Se> a=x->0;
		WishExcelFunction<Se> b=x->1;
		WishColumn<?> header1 = new WishColumn<>("姓名").add(a).add(b);
		
		WishModule<?> module =new WishModule<>();
		module.setTableHeaders( Arrays.asList(new WishColumn<>("整体名称你分析", Arrays.asList(header1))));
		module.setDatasSuppliers(Arrays.asList(()->getDatas(),()->getDatas()));
	
		LoopMergeStrategy l = new LoopMergeStrategy(2, 0);
		List<WriteHandler> list = new ArrayList<>();
//		list.add(l);
		
		RowBoldWriteHandler r = new RowBoldWriteHandler(14,false);
		list.add(r);
		module.setWriteHandlers(list);
		WishExcel.write("test.xlsx", "这是sheet名称", Arrays.asList(module));
	}
}
